Moderate: gfs-kmod security, bug fix and enhancement update

Related Vulnerabilities: CVE-2010-0727   CVE-2010-0727  

Synopsis

Moderate: gfs-kmod security, bug fix and enhancement update

Type/Severity

Security Advisory: Moderate

Topic

Updated gfs-kmod packages that fix one security issue, numerous bugs, and
add one enhancement are now available for Red Hat Enterprise Linux 5.5,
kernel release 2.6.18-194.el5.

The Red Hat Security Response Team has rated this update as having moderate
security impact. A Common Vulnerability Scoring System (CVSS) base score,
which gives a detailed severity rating, is available from the CVE link in
the References section.

Description

The gfs-kmod packages contain modules that provide the ability to mount and
use GFS file systems.

A flaw was found in the gfs_lock() implementation. The GFS locking code
could skip the lock operation for files that have the S_ISGID bit
(set-group-ID on execution) in their mode set. A local, unprivileged user
on a system that has a GFS file system mounted could use this flaw to cause
a kernel panic. (CVE-2010-0727)

These updated gfs-kmod packages are in sync with the latest kernel
(2.6.18-194.el5). The modules in earlier gfs-kmod packages failed to load
because they did not match the running kernel. It was possible to
force-load the modules. With this update, however, users no longer need to.

These updated gfs-kmod packages also fix the following bugs:

  • when SELinux was in permissive mode, a race condition during file
    creation could have caused one or more cluster nodes to be fenced and lock
    the remaining nodes out of the GFS file system. This race condition no
    longer occurs with this update. (BZ#471258)
  • when ACLs (Access Control Lists) are enabled on a GFS file system, if a
    transaction that has started to do a write request does not have enough
    spare blocks for the operation it causes a kernel panic. This update
    ensures that there are enough blocks for the write request before starting
    the operation. (BZ#513885)
  • requesting a "flock" on a file in GFS in either read-only or read-write
    mode would sometimes cause a "Resource temporarily unavailable" state error
    (error 11 for EWOULDBLOCK) to occur. In these cases, a flock could not be
    obtained on the file in question. This has been fixed with this update so
    that flocks can successfully be obtained on GFS files without this error
    occurring. (BZ#515717)
  • the GFS withdraw function is a data integrity feature of GFS file systems
    in a cluster. If the GFS kernel module detects an inconsistency in a GFS
    file system following an I/O operation, the file system becomes unavailable
    to the cluster. The GFS withdraw function is less severe than a kernel
    panic, which would cause another node to fence the node. With this update,
    you can override the GFS withdraw function by mounting the file system with
    the "-o errors=panic" option specified. When this option is specified, any
    errors that would normally cause the system to withdraw cause the system to
    panic instead. This stops the node's cluster communications, which causes
    the node to be fenced. (BZ#517145)

Finally, these updated gfs-kmod packages provide the following enhancement:

  • the GFS kernel modules have been updated to use the new generic freeze
    and unfreeze ioctl interface that is also supported by the following file
    systems: ext3, ext4, GFS2, JFS and ReiserFS. With this update, GFS supports
    freeze/unfreeze through the VFS-level FIFREEZE/FITHAW ioctl interface.
    (BZ#487610)

Users are advised to upgrade to these latest gfs-kmod packages, updated for
use with the 2.6.18-194.el5 kernel, which contain backported patches to
correct these issues, fix these bugs, and add this enhancement.

Solution

Before applying this update, make sure all previously-released errata
relevant to your system have been applied.

This update is available via the Red Hat Network. Details on how to
use the Red Hat Network to apply this update are available at
http://kbase.redhat.com/faq/docs/DOC-11259

Affected Products

  • Red Hat Enterprise Linux Resilient Storage (for RHEL Server) 5 x86_64
  • Red Hat Enterprise Linux Resilient Storage (for RHEL Server) 5 ppc
  • Red Hat Enterprise Linux Resilient Storage (for RHEL Server) 5 ia64
  • Red Hat Enterprise Linux Resilient Storage (for RHEL Server) 5 i386
  • Red Hat Enterprise Linux Resilient Storage (for RHEL Server) from RHUI 5 x86_64
  • Red Hat Enterprise Linux Resilient Storage (for RHEL Server) from RHUI 5 i386

Fixes

  • BZ - 471258 - fatal: assertion "gfs_glock_is_locked_by_me(gl) && gfs_glock_is_held_excl(gl)" failed
  • BZ - 487610 - GFS: Change gfs freeze/unfreeze to use new standard
  • BZ - 513885 - GFS kernel panic, suid + nfsd with posix ACLs enabled
  • BZ - 515717 - Flock on GFS fs file will error with "Resource tempory unavailable" for EWOULDBLOCK
  • BZ - 517145 - [RFE] GFS: New mount option: -o errors=withdraw|panic
  • BZ - 570863 - CVE-2010-0727 bug in GFS/GFS2 locking code leads to dos

CVEs

References